home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 7 / Night Owl Shareware (NOPV7)(Night Owl Publisher Inc.)(1992).bin / 038a / bash1_12.arj / BASH1-12.TAR / bash-1.12 / examples / functions / kshenv < prev    next >
Text File  |  1991-07-07  |  2KB  |  89 lines

  1. #
  2. # .kshenv -- functions and aliases to provide the beginnings of a ksh 
  3. #         environment for bash.
  4. #
  5. # Chet Ramey
  6. # chet@ins.CWRU.Edu
  7. #
  8. #
  9. # These are definitions for the ksh compiled-in `exported aliases'.  There
  10. # are others, but we already have substitutes for them: "history", "type",
  11. # and "hash".
  12. #
  13. alias r="fc -e -"
  14. alias functions="typeset -f"
  15. alias integer="typeset -i"
  16. alias nohup="nohup "
  17. alias true=":"
  18. alias false="let 0"
  19.  
  20. #
  21. # An almost-ksh compatible `whence' command.  This is as hairy as it is 
  22. # because of the desire to exactly mimic ksh (whose behavior was determined
  23. # empirically).
  24. # This depends somewhat on knowing the format of the output of the bash
  25. # `builtin type' command.
  26. #
  27.  
  28. whence()
  29. {
  30.     local vflag
  31.     local path
  32.  
  33.     vflag=
  34.     path=
  35.     if [ "$#" = "0" ] ; then
  36.         echo "whence: argument expected"
  37.         return 1
  38.     fi
  39.     case "$1" in
  40.         -v) vflag=1
  41.             shift 1
  42.             ;;
  43.         -*) echo "whence: bad option: $1"
  44.             return 1
  45.             ;;
  46.          *) ;;
  47.     esac
  48.  
  49.     if [ "$#" = "0" ] ; then
  50.         echo "whence: bad argument count"
  51.         return 1
  52.     fi
  53.  
  54.     for cmd
  55.     do
  56.         if [ "$vflag" ]     ; then
  57.             echo $(builtin type $cmd | sed 1q)
  58.         else
  59.             path=$(builtin type -path $cmd)
  60.             if [ "$path" ] ; then
  61.                 echo $path
  62.             else
  63.                 case "$cmd" in
  64.                     /*) echo ""
  65.                         ;;
  66.                      *) case "$(builtin type -type $cmd)" in
  67.                         "") echo ""
  68.                             ;;
  69.                          *) echo "$cmd"
  70.                             ;;
  71.                         esac
  72.                         ;;
  73.                 esac
  74.             fi
  75.         fi
  76.     done
  77.     return 0
  78. }
  79.  
  80. #
  81. # For real ksh homeboy fanatics, redefine the `type' builtin with a ksh
  82. # version.
  83. #
  84. #type()
  85. #{
  86. #    whence -v "$*"
  87. #}
  88.